#include <stdio.h>
#include <unistd.h>
#include <signal.h>

//volatile int g_flag = 0;
int g_flag = 0;

void changeflag(int signo)
{
    printf("将g_flag,从%d->%d\n", g_flag, 1);
    g_flag = 1;
}

int main()
{
    signal(2, changeflag);

    //编译器默认会对代码进行自动优化，下面循环可观看到
    while(!g_flag);

    printf("process quit normal\n");
    return 0;
}
